#ifndef PARTICLESWARM_H
#define PARTICLESWARM_H

#include "algorithm.h"
#include "particle.h"

class ParticleSwarm : public Algorithm {
	
	public:
		ParticleSwarm(const char*);
		~ParticleSwarm();
		
		void solve();
		int getQualityOfBest();
		
	private:
		
		int pickANewSet(Particle*);
		int minus(int,int);
		bool times(int, Particle*);
		void updategBestTo(Particle*);
		
		int number_of_particles;
		
		Particle** particles;
		
		int* gBest;
		int fitness_gBest;
		
		float P1;
		float P2;
		float P3;
		
		
};

#include "particleswarm.cpp"

#endif


